FSMOの役割を他のドメインコントローラに強制する – Active Directory on AWS(5)
はじめに
前回まではこちらです。
- AWS上でActive Directoryを構成する為の準備をする – Active Directory on AWS(1)
- 最初のドメインコントローラを構築する – Active Directory on AWS(2)
- 2台目のドメインコントローラを構築する - Active Directory on AWS(3)
- FSMOの役割を他のドメインコントローラに移行する – Active Directory on AWS(4)
さて前回、最初のドメインコントローラ(dc1)から2台目のドメインコントローラ(dc2)に、FSMOの役割を移行しました。現時点での構成は以下の通りです。
ここでちょっと、dc2がいる右のAZに隕石を当ててみましょう(参考)
さぁ大変です。FSMOが無くなってしまいました!こんな時どうしたらいいのでしょうか。
と、いうことで。今回はFSMOの役割を持ったDCに障害が発生してしまったと想定し、dc1にFSMOの役割を強制します。
やったこと
事前確認
さて、再確認です。PowerSchellntdsutilで確認すると、dc2がFSMOの各役割を持っていることが分かります。
PS C:\Users\Administrator> ntdsutil C:\Windows\system32\ntdsutil.exe: roles fsmo maintenance: select operation target select operation target: connections server connections: connect to domain smokeymonkey.local Binding to \\DC1.smokeymonkey.local ... Connected to \\DC1.smokeymonkey.local using credentials of locally logged on user. server connections: quit select operation target: list roles for connected server Server "\\DC1.smokeymonkey.local" knows about 5 roles Schema - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local Naming Master - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local PDC - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local RID - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local Infrastructure - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local select operation target: quit fsmo maintenance:
FSMOの役割を強制してみる
ではやってみます。FSMOの役割を強制するにはntdsutilで「seize」コマンドを実行します。まずはスキーママスタからやってみましょう。
fsmo maintenance: seize schema master
すると以下のように、役割を奪い取って良いかという確認画面が表示されます。[はい]をクリックします。
すると以下のように処理が行われます。「Transfer of schema FSMO failed, proceeding with seizure」と出力された通り、まずは普通に役割を転送しようとするのですが、dc2は隕石の下敷きになってしまったので転送出来ません。このため役割を強奪(seizure)しています。"Schema"行のCNがDC1に変わったことが確認出来ます。これでスキーママスタがdc1に強制されました。
Attempting safe transfer of schema FSMO before seizure. ldap_modify_sW error 0x34(52 (Unavailable). Ldap extended error message is 000020AF: SvcErr: DSID-0321040C, problem 5002 (UNAVAILABLE), data 1722 Win32 error returned is 0x20af(The requested FSMO operation failed. The current FSMO holder could not be contacted.) ) Depending on the error code this may indicate a connection, ldap, or role transfer error. Transfer of schema FSMO failed, proceeding with seizure ... Server "\\DC1.smokeymonkey.local" knows about 5 roles Schema - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local Naming Master - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local PDC - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local RID - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local Infrastructure - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local fsmo maintenance:
それでは同じように、他のFSMO役割も強制していきましょう。ドメイン名前付けマスタ(naming master)を強制します。
fsmo maintenance: seize naming master
Attempting safe transfer of domain naming FSMO before seizure. ldap_modify_sW error 0x34(52 (Unavailable). Ldap extended error message is 000020AF: SvcErr: DSID-0321040C, problem 5002 (UNAVAILABLE), data 1722 Win32 error returned is 0x20af(The requested FSMO operation failed. The current FSMO holder could not be contacted.) ) Depending on the error code this may indicate a connection, ldap, or role transfer error. Transfer of domain naming FSMO failed, proceeding with seizure ... Server "\\DC1.smokeymonkey.local" knows about 5 roles Schema - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local Naming Master - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local PDC - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local RID - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local Infrastructure - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local fsmo maintenance:
PDCエミュレータ(pdc)を強制します。
fsmo maintenance: seize pdc
Attempting safe transfer of PDC FSMO before seizure. ldap_modify_sW error 0x34(52 (Unavailable). Ldap extended error message is 000020AF: SvcErr: DSID-03210604, problem 5002 (UNAVAILABLE), data 1722 Win32 error returned is 0x20af(The requested FSMO operation failed. The current FSMO holder could not be contacted.) ) Depending on the error code this may indicate a connection, ldap, or role transfer error. Transfer of PDC FSMO failed, proceeding with seizure ... Server "\\DC1.smokeymonkey.local" knows about 5 roles Schema - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local Naming Master - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local PDC - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local RID - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local Infrastructure - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local fsmo maintenance:
RIDマスタ(pdc)を強制します。
fsmo maintenance: seize rid master
Attempting safe transfer of RID FSMO before seizure. ldap_modify_sW error 0x34(52 (Unavailable). Ldap extended error message is 000020AF: SvcErr: DSID-03210EC0, problem 5002 (UNAVAILABLE), data 1722 Win32 error returned is 0x20af(The requested FSMO operation failed. The current FSMO holder could not be contacted.) ) Depending on the error code this may indicate a connection, ldap, or role transfer error. Transfer of RID FSMO failed, proceeding with seizure ... Searching for highest rid pool in domain Server "\\DC1.smokeymonkey.local" knows about 5 roles Schema - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local Naming Master - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local PDC - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local RID - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local Infrastructure - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local fsmo maintenance:
インフラストラクチャマスタ(pdc)を強制します。
fsmo maintenance: seize infrastructure master
Attempting safe transfer of infrastructure FSMO before seizure. ldap_modify_sW error 0x34(52 (Unavailable). Ldap extended error message is 000020AF: SvcErr: DSID-0321040C, problem 5002 (UNAVAILABLE), data 1722 Win32 error returned is 0x20af(The requested FSMO operation failed. The current FSMO holder could not be contacted.) ) Depending on the error code this may indicate a connection, ldap, or role transfer error. Transfer of infrastructure FSMO failed, proceeding with seizure ... Server "\\DC1.smokeymonkey.local" knows about 5 roles Schema - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local Naming Master - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local PDC - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local RID - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local Infrastructure - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local fsmo maintenance:
これで全てのFSMOの役割がdc1に強制されました!
さいごに
さて、これで終わりではありません。Active Directoryのデータベースの中にはまだdc2の情報が残ってしまっていますので削除する必要があります。次回は障害が発生したドメインコントローラの情報をActive Directoryから削除したいと思います。